﻿//2110. 股票平滑下跌阶段的数目
//给你一个整数数组 prices ，表示一支股票的历史每日股价，其中 prices[i] 是这支股票第 i 天的价格。
//一个 平滑下降的阶段 定义为：对于 连续一天或者多天 ，每日股价都比 前一日股价恰好少 1 ，这个阶段第一天的股价没有限制。
//请你返回 平滑下降阶段 的数目。


class Solution {
public:
    long long getDescentPeriods(vector<int>& prices)
    {
        long long ans = 0;
        int n = prices.size();
        for (int i = 0; i < n;)
        {
            int j = i + 1;
            while (j < n && prices[j] == prices[j - 1] - 1)
            {
                j++;
            }
            ans += 1L * (j - i) * (j - i + 1) / 2;
            i = j;
        }
        return ans;
    }
};
